To design complex free-form surfaces using a computer aided design (CAD) system, designers generally define a curve mesh that consists of characteristic lines such as boundary curves and cross sections from which the mesh is interpolated. One of commonly used curves is Bezier curves each of which is defined by a predetermined number of points in space. For example, four points including two control points define a cubic Bezier curve in three dimensional space. A plurality of curves may be joined to form a more complex curve. To facilitate the definition of a complex curve, the Non Uniform Rational B-spline (NURBS) curve is a powerful tool since a NURBS curve can represent multiple composite curves including complicated Bezier curves.
To take advantage of a NURB curve, Japanese Patent Publication Hei 7-282117 discloses a method of joining curve meshes including NURBS curves in a first order geometric (G.sup.1)continuous manner. Roughly speaking, G.sup.1 continuity means that the directions (but not necessarily the magnitudes) of the two tangent vectors are equal at a joint of the adjacent surfaces. Prior attempts have been also made to use a NURB curve as a common boundary between free-form surfaces. An irregular curve mesh bounded by NURBS curves can be smoothly interpolated by using a general boundary Gregory patch which has been disclosed in U.S. Pat. No. 5,619,625. However, the general boundary Gregory patch cannot join adjacent NURBS surfaces with G.sup.1 continuity. Chiyokura et al. proposed a Gregory patch (Chiyokura and Kimura, Design of Solids with Free-form Surfaces, Computer Graphics, Proc.SIGGRAPH 83, Vol. 17, No. 3, pp289-298, 1983) and a rational boundary Gregory patch (Chiyokura et al. G.sup.1 Surface Interpolation over Irregular Meshes with Rational Curves, NURBS for Curve and Surface Design, Farin, G. Ed., pp. 15-34, SIAM, Philadelphia, 1991) as a curve surface to be joined in a G.sup.1 continuous manner. Both the Gregory patch and the rational boundary Gregory patch have a cross boundary derivative which has independent parameters u, v for each direction, and this characteristics enables the insertion of an irregular curve mesh in a G.sup.1 continuous manner. Furthermore, Liu et al. proposed a method of using a high degree Bezier curve to smoothly insert a curve mesh (Liu and Sun, G.sup.1 Interpolation of mesh curves, Computer Aided Design, Vol. 26, No. 4, pp. 259-267, 1994).
The above described methods enable smooth connections after the curve mesh is modified but require that the curve in the curve mesh is rational Bezier curve. However, when filet offsetting or boolean operations are performed, it is difficult to express certain mesh curves by rational Bezier curves. A NURBS curve can express those mesh lines, and a curve mesh contains the NURBS curve. Since it is impossible to use a NURBS curve as a boundary for a Gregory patch and a Bezier curve surface, it is practically impossible to interpolate an irregular curve mesh containing NURBS curves.
Konno et al. have proposed the use of a NURBS boundary Gregory patch for inserting an irregular curve mesh containing NURBS curves (Konno and Chiyokura, Interpolation Method of Free Surface Using NURBS boundary Gregory Patch, Proceeding of Information Processing Academy, Vol. 35, No. 10, pp.2203-2213, 1994), (Konno and Chiyokura, An Approach of Designing and Controlling Free-Form Surfaces by Using NURBS Boundary Gregory Patches, Computer Aided Geometri Design, Vol. 13, No. 9, pp. 825-849, 1996). Although the NURBS boundary Gregory patch enables a free-surface to have G.sup.1 continuity with an adjacent surface regardless of the limitations of a curve mesh, since the above described method divides the NURBS curves into rational Bezier curves, these separate curves in the formed surface generally have Co continuity. In other words, the formed free-surface has mathematically broken areas and remains to be improved to have C.sup.1 continuity.